﻿package mortal.game.view.lotteryDraw
{
    import Message.Public.*;
    import mortal.game.cache.packCache.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.utils.*;

    public class lotteryDrawPackageCache extends PackPosTypeCache
    {
        protected var _propItems:Array;
        protected var _stuffsItems:Array;
        protected var _equipItems:Array;

        public function lotteryDrawPackageCache(param1:int)
        {
            this._propItems = new Array();
            this._stuffsItems = new Array();
            this._equipItems = new Array();
            super(param1);
            return;
        }// end function

        override public function sortItems() : void
        {
            _allItems.sort(itemSort);
            this._stuffsItems.sort(itemSort);
            this._equipItems.sort(itemSort);
            this._propItems.sort(itemSort);
            return;
        }// end function

        public function getAllItems() : Array
        {
            return getItemsAtPage(1, _capacity);
        }// end function

        public function getStuffsItems() : Array
        {
            var _loc_1:* = new Array();
            var _loc_2:* = _capacity;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2)
            {
                
                if (_loc_3 < this._stuffsItems.length)
                {
                    _loc_1[_loc_3] = this._stuffsItems[_loc_3];
                }
                else
                {
                    _loc_1[_loc_3] = null;
                }
                _loc_3++;
            }
            return _loc_1;
        }// end function

        public function getEquipItems() : Array
        {
            var _loc_1:* = new Array();
            var _loc_2:* = _capacity;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2)
            {
                
                if (_loc_3 < this._equipItems.length)
                {
                    _loc_1[_loc_3] = this._equipItems[_loc_3];
                }
                else
                {
                    _loc_1[_loc_3] = null;
                }
                _loc_3++;
            }
            return _loc_1;
        }// end function

        public function getPropItems() : Array
        {
            var _loc_1:* = new Array();
            var _loc_2:* = _capacity;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2)
            {
                
                if (_loc_3 < this._propItems.length)
                {
                    _loc_1[_loc_3] = this._propItems[_loc_3];
                }
                else
                {
                    _loc_1[_loc_3] = null;
                }
                _loc_3++;
            }
            return _loc_1;
        }// end function

        override protected function resetTypeItems() : void
        {
            var _loc_2:ItemData = null;
            this._propItems = [];
            this._stuffsItems = [];
            this._equipItems = [];
            var _loc_1:* = _allItems.length;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_1)
            {
                
                _loc_2 = _allItems[_loc_3] is ItemData ? (_allItems[_loc_3]) : (null);
                if (_loc_2)
                {
                    switch(_loc_2.itemInfo.group)
                    {
                        case EGroup._EGroupProp:
                        {
                            if (ItemsUtil.isAllEquipType(_loc_2))
                            {
                                this._equipItems.push(_loc_2);
                            }
                            else
                            {
                                this._propItems.push(_loc_2);
                            }
                            break;
                        }
                        case EGroup._EGroupStuff:
                        {
                            this._stuffsItems.push(_loc_2);
                            break;
                        }
                        default:
                        {
                            break;
                        }
                    }
                }
                _loc_3++;
            }
            return;
        }// end function

    }
}
